using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.BOD;
using FEL.INT;
using System.Text;
using System.Collections.Generic;
using System.Web.Services;
using System.Reflection;
using AjaxControlToolkit;

public partial class BOD_Bod_Bodega : PaginaBaseFormView
{
    protected void Page_Load(object sender, EventArgs e)
    {        
        if (!IsPostBack)
        {
            string BodegaId = Request.QueryString.Get("Bod_Bodega_Id");
            if (BodegaId != null)
            {
                fvbod_bodega.DefaultMode = FormViewMode.ReadOnly;
                AsignarParametrosDataSourceDeatailsView(BodegaId);
            }
        }
        Fv.DataBound += new EventHandler(fvbod_bodega_DataBound);
        fvbod_bodega.ItemCommand += new FormViewCommandEventHandler(fvbod_bodega_ItemCommand);
        base.Page_Load(sender, e);       
        cargarBotones();        
    }

    private bool _asignarDatosPredeterminados = false;

    void fvbod_bodega_ItemCommand(object sender, FormViewCommandEventArgs e)
    {
        if (e.CommandName == "New")
            _asignarDatosPredeterminados = true;
    }

    void fvbod_bodega_DataBound(object sender, EventArgs e)
    {
        DeshabilitraBotonesEnInsert();
        if (!IsPostBack || _asignarDatosPredeterminados)
            AsignarDatosPredeterminados();    
    }

    private void DeshabilitraBotonesEnInsert()
    {
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            ButtonPersonal.Enabled = false;
            ButtonSubperiodos.Enabled = false;
        }
        else
        {
            ButtonPersonal.Enabled = true;
            ButtonSubperiodos.Enabled = true;
        }
    }
    private void AsignarDatosPredeterminados()
    {
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            Scope s = (Scope)Session["Scope"];

            TextBox txtmonedaId = (TextBox)Fv.FindControl("int_moneda_id");
            TextBox txtmonedacodigo = (TextBox)Fv.FindControl("int_moneda_codigo");
            TextBox txtmonedanombre = (TextBox)Fv.FindControl("int_moneda_nombre");
            if (txtmonedacodigo.Text == "" && txtmonedanombre.Text == "")
            {
                BO_Int_Sucursal boIntSucursal = new BO_Int_Sucursal();
                List<Int_Sucursal> moneda = new List<Int_Sucursal>(1);
                try
                {
                    moneda = boIntSucursal.GetById("", s, null);
                }
                catch
                {
                }

                if (moneda.Count == 1)
                {
                    txtmonedaId.Text = moneda[0].Int_Moneda_Id;
                    txtmonedacodigo.Text = moneda[0].Int_Moneda_Codigo;
                    txtmonedanombre.Text = moneda[0].Int_Moneda_Nombre;
                }

            }
        }
    }
   
   
    protected override Type TipoObjeto
    {
        get { return typeof(global::Bod_Bodega); }
    }   

    protected override FormView Fv
    {
        get { return fvbod_bodega; }
    }    

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvbod_bodega; }
    }   
    
    protected override string Contenedor
    {
        get { return "BOD_BODEGA"; }
    }

    private void cargarBotones()
    {
        ButtonListado.Text = GetLocalResourceObject("Btn_Bod_Bodega_ListadoRecursoKCG.Text").ToString();
        ButtonListado.ToolTip = GetLocalResourceObject("Btn_Bod_Bodega_ListadoRecursoKCG.ToolTip").ToString();
        ButtonPersonal.Text = GetLocalResourceObject("Btn_Bod_Bodega_PersonalRecursoKCG.Text").ToString();
        ButtonPersonal.ToolTip = GetLocalResourceObject("Btn_Bod_Bodega_PersonalRecursoKCG.ToolTip").ToString();
        ButtonSubperiodos.Text = GetLocalResourceObject("Btn_Bod_Bodega_SubperiodosRecursoKCG.Text").ToString();
        ButtonSubperiodos.ToolTip = GetLocalResourceObject("Btn_Bod_Bodega_SubperiodosRecursoKCG.ToolTip").ToString();
    }    
       

    [WebMethod]
    static public string[] GetMaterial(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Bodega_Tipo Bod_BodegaTipo = new BO_Bod_Bodega_Tipo();
        List<Bod_Bodega_Tipo> litBod_Bodega = Bod_BodegaTipo.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones = new List<string>();
        for (int i = 0; i < litBod_Bodega.Count && i < count; i++)
        {
            string value = litBod_Bodega[i].Id + "||" +
                           litBod_Bodega[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBod_Bodega[i].Nombre, value));
        }
        return opciones.ToArray();
    }

    [WebMethod]
    static public string[] GetMoneda(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.INT.BO_Int_Moneda Int_IntMoneda = new BO_Int_Moneda();
        List<Int_Moneda> litInt_Moneda = Int_IntMoneda.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones1 = new List<string>();
        for (int i = 0; i < litInt_Moneda.Count && i < count; i++)
        {
            string value = litInt_Moneda[i].Id + "||" +
                           litInt_Moneda[i].Codigo;

            opciones1.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litInt_Moneda[i].Nombre, value));
        }
        return opciones1.ToArray();
    }    
   
    protected void ButtonListado_Click(object sender, EventArgs e)
    {
        TextBox BodegaId = (TextBox)Fv.FindControl("Id");
        Response.Redirect("~/BOD/BOD_BODEGA_LISTADO.aspx?Bod_Bodega_Id=" + BodegaId.Text);

    }

    protected void ButtonSubperiodos_Click(object sender, EventArgs e)
    {
        TextBox BodegaId = (TextBox)Fv.FindControl("Id");
        Response.Redirect("~/BOD/BOD_BODEGA_SUBPERIODO.aspx?Bod_Bodega_Id=" + BodegaId.Text);

    }

    protected void ButtonPersonal_Click(object sender, EventArgs e)
    {
        TextBox BodegaId = (TextBox)Fv.FindControl("Id");
        TextBox BodegaCodigo = (TextBox)Fv.FindControl("Codigo");
        TextBox BodegaNombre = (TextBox)Fv.FindControl("Nombre");
        Response.Redirect("~/BOD/BOD_BODEGA_PERSONAL.aspx?Bod_Bodega_Id=" + BodegaId.Text + "&Bod_Bodega_Codigo=" + BodegaCodigo.Text + "&Bod_Bodega_Nombre=" + BodegaNombre.Text);

    }


}
